package com.dyj.goodlife.domain.query;

import com.dyj.common.domain.query.BaseQuery;

import java.util.List;

public class QueryPartnerOrderQuery extends BaseQuery {

    /**
     * 商家id 选填
     */
    private String account_id;
    /**
     * 合作结束时间，秒级时间戳 选填
     */
    private Long end_time;
    /**
     * 合作商品渠道，暂仅支持查询小程序商品渠道的合作订单 选填
     */
    private Integer goods_channel;
    /**
     * 是否升序 选填
     */
    private Boolean is_asc;
    /**
     * 页数，起始页为1，默认1 选填
     */
    private Integer page;
    /**
     * 每页大小，最大50条，默认50 选填
     */
    private Integer size;
    /**
     * 合作开始时间，秒级时间戳 选填
     */
    private Long start_time;
    /**
     * 合作类型，如代运营 选填
     */
    private List<Integer> cooperation_contents;
    /**
     * 订单状态，不传默认全部 选填
     */
    private List<Integer> status;

    public String getAccount_id() {
        return account_id;
    }

    public QueryPartnerOrderQuery setAccount_id(String account_id) {
        this.account_id = account_id;
        return this;
    }

    public Long getEnd_time() {
        return end_time;
    }

    public QueryPartnerOrderQuery setEnd_time(Long end_time) {
        this.end_time = end_time;
        return this;
    }

    public Integer getGoods_channel() {
        return goods_channel;
    }

    public QueryPartnerOrderQuery setGoods_channel(Integer goods_channel) {
        this.goods_channel = goods_channel;
        return this;
    }

    public Boolean getIs_asc() {
        return is_asc;
    }

    public QueryPartnerOrderQuery setIs_asc(Boolean is_asc) {
        this.is_asc = is_asc;
        return this;
    }

    public Integer getPage() {
        return page;
    }

    public QueryPartnerOrderQuery setPage(Integer page) {
        this.page = page;
        return this;
    }

    public Integer getSize() {
        return size;
    }

    public QueryPartnerOrderQuery setSize(Integer size) {
        this.size = size;
        return this;
    }

    public Long getStart_time() {
        return start_time;
    }

    public QueryPartnerOrderQuery setStart_time(Long start_time) {
        this.start_time = start_time;
        return this;
    }

    public List<Integer> getCooperation_contents() {
        return cooperation_contents;
    }

    public QueryPartnerOrderQuery setCooperation_contents(List<Integer> cooperation_contents) {
        this.cooperation_contents = cooperation_contents;
        return this;
    }

    public List<Integer> getStatus() {
        return status;
    }

    public QueryPartnerOrderQuery setStatus(List<Integer> status) {
        this.status = status;
        return this;
    }

    public static QueryPartnerOrderQueryBuilder builder() {
        return new QueryPartnerOrderQueryBuilder();
    }

    public static final class QueryPartnerOrderQueryBuilder {
        private String account_id;
        private Long end_time;
        private Integer goods_channel;
        private Boolean is_asc;
        private Integer page;
        private Integer size;
        private Long start_time;
        private List<Integer> cooperation_contents;
        private List<Integer> status;
        private Integer tenantId;
        private String clientKey;

        private QueryPartnerOrderQueryBuilder() {
        }

        public QueryPartnerOrderQueryBuilder accountId(String accountId) {
            this.account_id = accountId;
            return this;
        }

        public QueryPartnerOrderQueryBuilder endTime(Long endTime) {
            this.end_time = endTime;
            return this;
        }

        public QueryPartnerOrderQueryBuilder goodsChannel(Integer goodsChannel) {
            this.goods_channel = goodsChannel;
            return this;
        }

        public QueryPartnerOrderQueryBuilder isAsc(Boolean isAsc) {
            this.is_asc = isAsc;
            return this;
        }

        public QueryPartnerOrderQueryBuilder page(Integer page) {
            this.page = page;
            return this;
        }

        public QueryPartnerOrderQueryBuilder size(Integer size) {
            this.size = size;
            return this;
        }

        public QueryPartnerOrderQueryBuilder startTime(Long startTime) {
            this.start_time = startTime;
            return this;
        }

        public QueryPartnerOrderQueryBuilder cooperationContents(List<Integer> cooperationContents) {
            this.cooperation_contents = cooperationContents;
            return this;
        }

        public QueryPartnerOrderQueryBuilder status(List<Integer> status) {
            this.status = status;
            return this;
        }

        public QueryPartnerOrderQueryBuilder tenantId(Integer tenantId) {
            this.tenantId = tenantId;
            return this;
        }

        public QueryPartnerOrderQueryBuilder clientKey(String clientKey) {
            this.clientKey = clientKey;
            return this;
        }

        public QueryPartnerOrderQuery build() {
            QueryPartnerOrderQuery queryPartnerOrderQuery = new QueryPartnerOrderQuery();
            queryPartnerOrderQuery.setAccount_id(account_id);
            queryPartnerOrderQuery.setEnd_time(end_time);
            queryPartnerOrderQuery.setGoods_channel(goods_channel);
            queryPartnerOrderQuery.setIs_asc(is_asc);
            queryPartnerOrderQuery.setPage(page);
            queryPartnerOrderQuery.setSize(size);
            queryPartnerOrderQuery.setStart_time(start_time);
            queryPartnerOrderQuery.setCooperation_contents(cooperation_contents);
            queryPartnerOrderQuery.setStatus(status);
            queryPartnerOrderQuery.setTenantId(tenantId);
            queryPartnerOrderQuery.setClientKey(clientKey);
            return queryPartnerOrderQuery;
        }
    }
}
